Network virtualization is a manner of separating, by using the software-based abstract, network traffic from a physical network element. Network virtualization and virtualization of other forms have a lot in common.
For network virtualization, network traffic of a switch, a network port, a router, and other physical elements in a network is abstractly isolated. Each physical element is replaced by a virtual representation form of a network element. An administrator can configure a virtual network element to meet its unique need. A main advantage of network virtualization herein is that a plurality of physical networks is integrated into a larger logical network.
Existing main network virtualization schemes are Open Virtual Switch (OVS) and Distributed Virtual Switch (DVS) of VMware®. For a mainstream OVS architecture, a virtual switch (vSwitch) is implemented in a Host kernel, that is, the virtual switch is implemented in a Virtual Machine Monitor (VMM) kernel. The virtual switch is in a core position of a virtual network and its architecture is shown in FIG. 1, where the vSwitch uses a virtual port and is connected to a virtual machine (VM) and an underlying network interface card (NIC) through a front-end (FE)/back-end (BE). The Host allocates physical resources such as a central processing unit (CPU) and memory to a virtual machine and all types of virtual hardware running on the host. These physical resources are classified into physical resources of a kernel space and physical resources of a user space. In a switching process, the vSwitch needs to apply for and occupy many physical resources in Host kernel space, which is especially unfavorable for the Host to perform management and resource allocation on the virtual network. The vSwitch undertakes lots of tasks and functions, for example, virtual local area network (VLAN), load-balance, tunneling, security, Link Aggregation Control Protocol (LACP), and quality of service (QoS), as shown in FIG. 1. Design of the vSwitch is very huge and complicated. The vSwich and a Host kernel are tightly coupled, resulting in poor scalability and flexibility of the vSwitch and the entire virtual network.